<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://webservices.groove.net/Groove/2.0/Files/" xmlns:c="http://webservices.groove.net/Groove/2.0/Core/" xmlns:e="http://webservices.groove.net/Groove/2.0/Events/" elementFormDefault="qualified" targetNamespace="http://webservices.groove.net/Groove/2.0/Files/" version="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="./Core.xsd" namespace="http://webservices.groove.net/Groove/2.0/Core/" />
  <xs:import schemaLocation="./Events.xsd" namespace="http://webservices.groove.net/Groove/2.0/Events/" />
  <xs:complexType name="FileDescriptor">
    <xs:sequence>
      <xs:element name="ID" type="xs:string" />
      <xs:element name="URI" type="xs:anyURI" />
      <xs:element name="CreatedBy" type="xs:anyURI" />
      <xs:element name="ModifiedBy" type="xs:anyURI" />
      <xs:element name="Created" type="xs:dateTime" />
      <xs:element name="Modified" type="xs:dateTime" />
      <xs:element name="FolderID" type="xs:string" />
      <xs:element name="Unread" type="xs:boolean" />
      <xs:element name="Name" type="xs:string" />
      <xs:element name="DisplayName" type="xs:string" />
      <xs:element name="Type" type="xs:string" />
      <xs:element name="Size" type="xs:int" />
      <xs:element minOccurs="0" name="LaunchURL" type="xs:anyURI" />
      <xs:element minOccurs="0" name="DownloadState" type="xs:int" />
      <xs:element minOccurs="0" name="AutoDownload" type="xs:boolean" />
      <xs:element minOccurs="0" name="DownloadSizeLimit" type="xs:int" />
      <xs:element minOccurs="0" name="Count" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FileDescriptorList">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="FileDescriptor" type="tns:FileDescriptor" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FileDownloadProgress">
    <xs:sequence>
      <xs:element name="FileID" type="xs:string" />
      <xs:element name="BytesReceived" type="xs:double" />
      <xs:element name="BytesRemaining" type="xs:double" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FileAddEventData">
    <xs:complexContent mixed="false">
      <xs:restriction base="e:EventData">
        <xs:sequence>
          <xs:element name="FileDescriptor" type="tns:FileDescriptor" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="FileUpdateEventData">
    <xs:complexContent mixed="false">
      <xs:restriction base="e:EventData">
        <xs:sequence>
          <xs:element name="FileDescriptor" type="tns:FileDescriptor" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="FileDeleteEventData">
    <xs:complexContent mixed="false">
      <xs:restriction base="e:EventData">
        <xs:sequence>
          <xs:element name="FileID" type="xs:string" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="FileRenameEventData">
    <xs:complexContent mixed="false">
      <xs:restriction base="e:EventData">
        <xs:sequence>
          <xs:element name="FileDescriptor" type="tns:FileDescriptor" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="FileMoveEventData">
    <xs:complexContent mixed="false">
      <xs:restriction base="e:EventData">
        <xs:sequence>
          <xs:element name="FileDescriptor" type="tns:FileDescriptor" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="FileDownloadProgressEventData">
    <xs:complexContent mixed="false">
      <xs:restriction base="e:EventData">
        <xs:sequence>
          <xs:element name="FileDownloadProgress" type="tns:FileDownloadProgress" />
        </xs:sequence>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Create">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="FileDescriptor" type="tns:FileDescriptor" />
        <xs:element name="FileContents" type="xs:base64Binary" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="CreateResult" type="xs:anyURI" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Read">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="Recursive" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ReadResult" type="tns:FileDescriptorList" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ReadFile">
    <xs:complexType />
  </xs:element>
  <xs:element name="ReadFileResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ReadFileResult" type="xs:base64Binary" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateFile">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="FileDescriptor" type="tns:FileDescriptor" />
        <xs:element minOccurs="0" maxOccurs="1" name="FileContents" type="xs:base64Binary" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateFileResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="DeleteFile">
    <xs:complexType />
  </xs:element>
  <xs:element name="DeleteFileResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="Download">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="1" name="Recursive" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DownloadResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="UpdateUnreadMark">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="UnreadState" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateUnreadMarkResponse">
    <xs:complexType />
  </xs:element>
  <xs:element name="Import">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="URI" type="xs:anyURI" />
        <xs:element name="FileDescriptor" type="tns:FileDescriptor" />
        <xs:element name="Recursive" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ImportResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ImportResult" type="xs:anyURI" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Export">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="URI" type="xs:anyURI" />
        <xs:element name="Recursive" type="xs:boolean" />
        <xs:element name="OverwriteExisting" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ExportResponse">
    <xs:complexType />
  </xs:element>
  <xs:complexType name="WSSPropertiesDescriptor">
    <xs:sequence>
      <xs:element name="DocumentLibraryURL" type="xs:anyURI" />
      <xs:element name="SynchronizerIdentity" type="xs:anyURI" />
      <xs:element minOccurs="0" name="WSSPropertiesExtension" type="xs:anyType" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SetWSSProperties">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="SetWSSPropertiesResult" type="tns:WSSPropertiesDescriptor" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="SetWSSPropertiesResponse">
    <xs:complexType />
  </xs:element>
</xs:schema>